package com.yh.ldzl.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * ldzl-qc对象 qc_iqc
 * 
 * @author yanghuai
 * @date 2025-07-02
 */
@Data
public class QcIqc extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 来料检验单ID */
    private Long iqcId;

    /** 来料检验单编号 */
    @Excel(name = "来料检验单编号")
    private String iqcCode;

    /** 来料检验单名称 */
    @Excel(name = "来料检验单名称")
    private String iqcName;

    /** 检验模板ID */
    private Long templateId;

    /** 来源单据ID */
    private Long sourceDocId;

    /** 来源单据类型 */
    @Excel(name = "来源单据类型")
    private String sourceDocType;

    /** 来源单据编号 */
    private String sourceDocCode;

    /** 来源单据行ID */
    private Long sourceLineId;

    /** 供应商ID */
    private Long supplierId;

    /** 供应商编码 */
    private String supplierCode;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    private String supplierName;

    /** 供应商简称 */
    private String supplierNick;

    /** 供应商批次号 */
    private String supplierBatch;

    /** 货物编码 */
    private String goodsCode;

    /** 货物名称 */
    @Excel(name = "物料名称")
    private String goodsName;

    /** 规格型号 */
    @Excel(name = "规格型号")
    private String stockSfn;

    /** 单位 */
    @Excel(name = "单位")
    private String unitName;

    /** 最低检测数 */
    private Long quantityMinCheckNum;

    /** 最大不合格数 */
    private Long quantityMaxUnqualifiedNum;

    /** 本次接收数量 */
    @Excel(name = "本次接收数量")
    private BigDecimal quantityRecivedNum;

    /** 本次检测数量 */
    @Excel(name = "本次检测数量")
    private Long quantityCheckNum;

    /** 合格数 */
    private Long quantityQualifiedNum;

    /** 不合格数 */
    private Long quantityUnqualifiedNum;

    /** 致命缺陷率 */
    private BigDecimal crRate;

    /** 严重缺陷率 */
    private BigDecimal majRate;

    /** 轻微缺陷率 */
    private BigDecimal minRate;

    /** 致命缺陷数量 */
    private Long crQuantityNum;

    /** 严重缺陷数量 */
    private Long majQuantityNum;

    /** 轻微缺陷数量 */
    private Long minQuantityNum;

    /** 检测结果(1/合格，2/不合格,3/待检) */
    @Excel(name = "检测结果(1/合格，2/不合格,3/待检)")
    private String checkResult;

    /** 来料日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "来料日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reciveDate;

    /** 检测日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "检测日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date inspectDate;

    /** 检测人员id */
    private String inspectorId;

    /** 单据状态(1/草稿,2/已提交,3/已审核) */
    @Excel(name = "单据状态(1/草稿,2/已提交,3/已审核)")
    private String status;

    /** 预留字段1 */
    private String attr1;

    /** 预留字段2 */
    private String attr2;

    /** 预留字段3 */
    private Long attr3;

    /** 预留字段4 */
    private Long attr4;

    /** 删除标志（0代表存在 1代表删除） */
    private String isDelete;


    public void setIqcId(Long iqcId) 
    {
        this.iqcId = iqcId;
    }

    public Long getIqcId() 
    {
        return iqcId;
    }

    public void setIqcCode(String iqcCode) 
    {
        this.iqcCode = iqcCode;
    }

    public String getIqcCode() 
    {
        return iqcCode;
    }

    public void setIqcName(String iqcName) 
    {
        this.iqcName = iqcName;
    }

    public String getIqcName() 
    {
        return iqcName;
    }

    public void setTemplateId(Long templateId) 
    {
        this.templateId = templateId;
    }

    public Long getTemplateId() 
    {
        return templateId;
    }

    public void setSourceDocId(Long sourceDocId) 
    {
        this.sourceDocId = sourceDocId;
    }

    public Long getSourceDocId() 
    {
        return sourceDocId;
    }

    public void setSourceDocType(String sourceDocType) 
    {
        this.sourceDocType = sourceDocType;
    }

    public String getSourceDocType() 
    {
        return sourceDocType;
    }

    public void setSourceDocCode(String sourceDocCode) 
    {
        this.sourceDocCode = sourceDocCode;
    }

    public String getSourceDocCode() 
    {
        return sourceDocCode;
    }

    public void setSourceLineId(Long sourceLineId) 
    {
        this.sourceLineId = sourceLineId;
    }

    public Long getSourceLineId() 
    {
        return sourceLineId;
    }

    public void setSupplierId(Long supplierId) 
    {
        this.supplierId = supplierId;
    }

    public Long getSupplierId() 
    {
        return supplierId;
    }

    public void setSupplierCode(String supplierCode) 
    {
        this.supplierCode = supplierCode;
    }

    public String getSupplierCode() 
    {
        return supplierCode;
    }

    public void setSupplierName(String supplierName) 
    {
        this.supplierName = supplierName;
    }

    public String getSupplierName() 
    {
        return supplierName;
    }

    public void setSupplierNick(String supplierNick) 
    {
        this.supplierNick = supplierNick;
    }

    public String getSupplierNick() 
    {
        return supplierNick;
    }

    public void setSupplierBatch(String supplierBatch) 
    {
        this.supplierBatch = supplierBatch;
    }

    public String getSupplierBatch() 
    {
        return supplierBatch;
    }

    public String getGoodsCode() {
        return goodsCode;
    }

    public void setGoodsCode(String goodsCode) {
        this.goodsCode = goodsCode;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public String getStockSfn() {
        return stockSfn;
    }

    public void setStockSfn(String stockSfn) {
        this.stockSfn = stockSfn;
    }

    public String getUnitName() {
        return unitName;
    }

    public void setUnitName(String unitName) {
        this.unitName = unitName;
    }

    public void setQuantityMinCheckNum(Long quantityMinCheckNum)
    {
        this.quantityMinCheckNum = quantityMinCheckNum;
    }

    public Long getQuantityMinCheckNum() 
    {
        return quantityMinCheckNum;
    }

    public void setQuantityMaxUnqualifiedNum(Long quantityMaxUnqualifiedNum) 
    {
        this.quantityMaxUnqualifiedNum = quantityMaxUnqualifiedNum;
    }

    public Long getQuantityMaxUnqualifiedNum() 
    {
        return quantityMaxUnqualifiedNum;
    }

    public void setQuantityRecivedNum(BigDecimal quantityRecivedNum) 
    {
        this.quantityRecivedNum = quantityRecivedNum;
    }

    public BigDecimal getQuantityRecivedNum() 
    {
        return quantityRecivedNum;
    }

    public void setQuantityCheckNum(Long quantityCheckNum) 
    {
        this.quantityCheckNum = quantityCheckNum;
    }

    public Long getQuantityCheckNum() 
    {
        return quantityCheckNum;
    }

    public void setQuantityQualifiedNum(Long quantityQualifiedNum) 
    {
        this.quantityQualifiedNum = quantityQualifiedNum;
    }

    public Long getQuantityQualifiedNum() 
    {
        return quantityQualifiedNum;
    }

    public void setQuantityUnqualifiedNum(Long quantityUnqualifiedNum) 
    {
        this.quantityUnqualifiedNum = quantityUnqualifiedNum;
    }

    public Long getQuantityUnqualifiedNum() 
    {
        return quantityUnqualifiedNum;
    }

    public void setCrRate(BigDecimal crRate) 
    {
        this.crRate = crRate;
    }

    public BigDecimal getCrRate() 
    {
        return crRate;
    }

    public void setMajRate(BigDecimal majRate) 
    {
        this.majRate = majRate;
    }

    public BigDecimal getMajRate() 
    {
        return majRate;
    }

    public void setMinRate(BigDecimal minRate) 
    {
        this.minRate = minRate;
    }

    public BigDecimal getMinRate() 
    {
        return minRate;
    }

    public void setCrQuantityNum(Long crQuantityNum) 
    {
        this.crQuantityNum = crQuantityNum;
    }

    public Long getCrQuantityNum() 
    {
        return crQuantityNum;
    }

    public void setMajQuantityNum(Long majQuantityNum) 
    {
        this.majQuantityNum = majQuantityNum;
    }

    public Long getMajQuantityNum() 
    {
        return majQuantityNum;
    }

    public void setMinQuantityNum(Long minQuantityNum) 
    {
        this.minQuantityNum = minQuantityNum;
    }

    public Long getMinQuantityNum() 
    {
        return minQuantityNum;
    }

    public void setCheckResult(String checkResult) 
    {
        this.checkResult = checkResult;
    }

    public String getCheckResult() 
    {
        return checkResult;
    }

    public void setReciveDate(Date reciveDate) 
    {
        this.reciveDate = reciveDate;
    }

    public Date getReciveDate() 
    {
        return reciveDate;
    }

    public void setInspectDate(Date inspectDate) 
    {
        this.inspectDate = inspectDate;
    }

    public Date getInspectDate() 
    {
        return inspectDate;
    }

    public void setInspectorId(String inspectorId)
    {
        this.inspectorId = inspectorId;
    }

    public String getInspectorId()
    {
        return inspectorId;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setAttr1(String attr1) 
    {
        this.attr1 = attr1;
    }

    public String getAttr1() 
    {
        return attr1;
    }

    public void setAttr2(String attr2) 
    {
        this.attr2 = attr2;
    }

    public String getAttr2() 
    {
        return attr2;
    }

    public void setAttr3(Long attr3) 
    {
        this.attr3 = attr3;
    }

    public Long getAttr3() 
    {
        return attr3;
    }

    public void setAttr4(Long attr4) 
    {
        this.attr4 = attr4;
    }

    public Long getAttr4() 
    {
        return attr4;
    }

    public void setIsDelete(String isDelete) 
    {
        this.isDelete = isDelete;
    }

    public String getIsDelete() 
    {
        return isDelete;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("iqcId", getIqcId())
            .append("iqcCode", getIqcCode())
            .append("iqcName", getIqcName())
            .append("templateId", getTemplateId())
            .append("sourceDocId", getSourceDocId())
            .append("sourceDocType", getSourceDocType())
            .append("sourceDocCode", getSourceDocCode())
            .append("sourceLineId", getSourceLineId())
            .append("supplierId", getSupplierId())
            .append("supplierCode", getSupplierCode())
            .append("supplierName", getSupplierName())
            .append("supplierNick", getSupplierNick())
            .append("supplierBatch", getSupplierBatch())
            .append("goodsCode", getGoodsCode())
            .append("goodsName", getGoodsName())
            .append("stockSfn", getStockSfn())
            .append("unitName", getUnitName())
            .append("quantityMinCheckNum", getQuantityMinCheckNum())
            .append("quantityMaxUnqualifiedNum", getQuantityMaxUnqualifiedNum())
            .append("quantityRecivedNum", getQuantityRecivedNum())
            .append("quantityCheckNum", getQuantityCheckNum())
            .append("quantityQualifiedNum", getQuantityQualifiedNum())
            .append("quantityUnqualifiedNum", getQuantityUnqualifiedNum())
            .append("crRate", getCrRate())
            .append("majRate", getMajRate())
            .append("minRate", getMinRate())
            .append("crQuantityNum", getCrQuantityNum())
            .append("majQuantityNum", getMajQuantityNum())
            .append("minQuantityNum", getMinQuantityNum())
            .append("checkResult", getCheckResult())
            .append("reciveDate", getReciveDate())
            .append("inspectDate", getInspectDate())
            .append("inspectorId", getInspectorId())
            .append("status", getStatus())
            .append("remark", getRemark())
            .append("attr1", getAttr1())
            .append("attr2", getAttr2())
            .append("attr3", getAttr3())
            .append("attr4", getAttr4())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("isDelete", getIsDelete())
            .toString();
    }
}
